package AttributeThreading;

/**
 * 线程的中断 : 通过线程中断的方式进行的.(本质上仍然是让run方法尽快结束, 而不是run执行一半,强制结束)
 *            方法1. 直接自己定义一个标志位, 作为线程是否结束的标志.
 *            方法2. 还可以使用标准库里自带的一个标记~~ (在 TestDemo11 里介绍)
 * Date: 2022-09-11 , 8月14日的课程
 * Time: 10:46
 */
public class TestDemo10 {
    private static boolean isQuit = false; // 标志位

    public static void main(String[] args) {
       Thread thread = new Thread(() -> {
           while(!isQuit) {
               System.out.println("使用手动设置标志位的方法1");
               try {
                   Thread.sleep(1000);
               } catch (InterruptedException e) {
                   e.printStackTrace();
               }
           }
           System.out.println("start线程执行完毕!!");
       });
       thread.start();
        try {
            Thread.sleep(3000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        isQuit = true; // 设置标志位
        System.out.println("通过标志位让thread线程结束!");
    }
}
